Non-transitory computer-readable medium and video game processing system

ABSTRACT

A non-transitory computer-readable medium including a video game processing program for causing a server to perform functions regarding a search of a moving route in a virtual space is provided. The functions includes: a setting function configured to set a navigation mesh corresponding to a movable area of an object in a virtual space; an arranging function configured to arrange a plurality of waypoints on the set navigation mesh in accordance with a predetermined arrangement rule; a generating function configured to generate a plurality of regions by grouping the plurality of waypoints arranged in the virtual space based on a predetermined classification rule; a determining function configured to determine movable regions based on arrangement of the plurality of regions thus generated; and a searching function configured to search a moving route of the object based on the waypoints included in the determined movable regions.

CROSS-REFERENCE TO RELATED APPLICATION (S)

The present application claims priority to Japanese Patent ApplicationNo. 2019-161054 filed on Sep. 4, 2019, the disclosure of which isexpressly incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION 1. Field of the Invention

At least one of embodiments of the present invention relates to anon-transitory computer-readable medium including a video gameprocessing program and a video game processing system for causing aserver to perform functions regarding a search of a moving route in avirtual space.

2. Description of the Related Art

Heretofore, various kinds of techniques for moving a character in avideo game have been proposed.

In such techniques, there is one in which a moving route of a characteris searched by using positional information regarding a virtual spacethat constitutes a video game, and this technique utilizes a navigationmesh and waypoints. In order to suppress a processing load required fora search of the moving route from being increased, there is one in whicharrangement of route candidate locations in a search region isdetermined so that an interval between the route candidate locationsarranged outside a predetermined area is greater than an interval ofroute candidate locations arranged in the predetermined area of thesearch region. Examples of apparatuses, systems, and programs may befound in Japanese Published Patent Application No. JP2012-213485A.

SUMMARY

However, in the conventional technique, the more the number of waypoints(route candidate locations) that become a search target is increased,the more a processing load required for arrangement of waypoints and aroute search for the arranged waypoints is increased. For this reason, aprocessing load when movement of an object, such as a character, whichcan move in a virtual space is controlled may become excessive.

It is an object of at least one of embodiments of the present inventionto solve the problem described above, and reduce a processing loadrequired for a search of a moving route of an object.

According to one non-limiting aspect of the present invention, there isprovided a non-transitory computer-readable medium including a videogame processing program for causing a server to perform functionsregarding a search of a moving route in a virtual space.

The functions include a setting function configured to set a navigationmesh corresponding to a movable area of an object in a virtual space.

The functions also include an arranging function configured to arrange aplurality of waypoints on the set navigation mesh in accordance with apredetermined arrangement rule.

The functions also include a generating function configured to generatea plurality of regions by grouping the plurality of waypoints arrangedin the virtual space on a basis of a predetermined classification rule.

The functions also include a determining function configured todetermine regions where the object is allowed to move (hereinafter,referred to as “movable regions”) on a basis of arrangement of theplurality of regions thus generated.

The functions also include a searching function configured to search amoving route of the object on a basis of the waypoints included in thedetermined movable regions.

According to another non-limiting aspect of the present invention, thereis provided a video game processing system for executing a processregarding a search of a moving route in a virtual space. In this case,the video game processing system includes a communication network, aserver, and a user terminal.

The video game processing system includes a setting unit configured toset a navigation mesh corresponding to a movable area of an object in avirtual space.

The video game processing system also includes an arranging unitconfigured to arrange a plurality of waypoints on the set navigationmesh in accordance with a predetermined arrangement rule.

The video game processing system also includes a generating unitconfigured to generate a plurality of regions by grouping the pluralityof waypoints arranged in the virtual space on a basis of a predeterminedclassification rule.

The video game processing system also includes a determining unitconfigured to determine regions where the object is allowed to move(hereinafter, referred to as “movable regions”) on a basis ofarrangement of the plurality of regions thus generated.

The video game processing system also includes a searching unitconfigured to search a moving route of the object on a basis of thewaypoints included in the determined movable regions.

According to still another non-limiting aspect of the present invention,there is provided a non-transitory computer-readable medium including avideo game processing program for causing a user terminal to performfunctions regarding a search of a moving route in a virtual space.

The functions include a setting function configured to set a navigationmesh corresponding to a movable area of an object in a virtual space.

The functions also include an arranging function configured to arrange aplurality of waypoints on the set navigation mesh in accordance with apredetermined arrangement rule.

The functions also include a generating function configured to generatea plurality of regions by grouping the plurality of waypoints arrangedin the virtual space on a basis of a predetermined classification rule.

The functions also include a determining function configured todetermine regions where the object is allowed to move (hereinafter,referred to as “movable regions”) on a basis of arrangement of theplurality of regions thus generated.

The functions also include a searching function configured to search amoving route of the object on a basis of the waypoints included in thedetermined movable regions.

According to each of the embodiments of the present application, one ortwo or more shortages are solved.

BRIEF DESCRIPTION OF DRAWINGS

The foregoing and other objects, features and advantages of the presentinvention will become more readily apparent from the following detaileddescription of preferred embodiments of the present invention thatproceeds with reference to the appending drawings:

FIG. 1 is a block diagram illustrating an example of a configuration ofa video game processing system corresponding to at least one of theembodiments of the present invention;

FIG. 2 is a block diagram illustrating a configuration of a servercorresponding to at least one of the embodiments of the presentinvention;

FIG. 3 is a flowchart illustrating an example of game processingcorresponding to at least one of the embodiments of the presentinvention;

FIG. 4 is a flowchart illustrating an example of an operation of aserver side in the game processing corresponding to at least one of theembodiments of the present invention;

FIG. 5 is a flowchart illustrating an example of an operation of aterminal side in the game processing corresponding to at least one ofthe embodiments of the present invention;

FIG. 6 is a block diagram illustrating a configuration of a servercorresponding to at least one of the embodiments of the presentinvention;

FIG. 7 is a flowchart illustrating an example of game processingcorresponding to at least one of the embodiments of the presentinvention;

FIG. 8 is a block diagram illustrating a configuration of a servercorresponding to at least one of the embodiments of the presentinvention;

FIG. 9 is a flowchart illustrating an example of game processingcorresponding to at least one of the embodiments of the presentinvention;

FIG. 10 is a block diagram illustrating a configuration of a servercorresponding to at least one of the embodiments of the presentinvention;

FIG. 11 is an explanatory drawing for explaining an example of thinningof waypoints corresponding to at least one of the embodiments of thepresent invention;

FIG. 12 is an explanatory drawing for explaining an example of awaypoint, which must be not thinned out, corresponding to at least oneof the embodiments of the present invention;

FIG. 13 is an explanatory drawing for explaining an example of a methodof generating a region corresponding to at least one of the embodimentsof the present invention;

FIG. 14 is an explanatory drawing for explaining an example of a storagestate of information corresponding to at least one of the embodiments ofthe present invention; and

FIG. 15 is a flowchart illustrating an example of game processingcorresponding to at least one of the embodiments of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, examples of embodiments according to the present inventionwill be described with reference to the drawings. Note that variouscomponents in the respective embodiments described below can beappropriately combined without any contradiction or the like. Inaddition, the description of the content described as a certainembodiment may be omitted in another embodiment. Further, the content ofan operation or processing that does not relate to features of each ofthe embodiments may be omitted. Moreover, the order of various processesthat constitute various flows described below may be changed without anycontradiction or the like of processing content.

First Embodiment

FIG. 1 is a block diagram illustrating an example of a configuration ofa video game processing system 100 according to one embodiment of thepresent invention. As illustrated in FIG. 1, the video game processingsystem 100 includes a video game processing server 10 (hereinafter,referred to as a “server 10”) and user terminals 20, and 201 to 20N (“N”is an arbitrary integer) respectively used by users of the video gameprocessing system 100. In this regard, the configuration of the videogame processing system 100 is not limited to this configuration. Thevideo game processing system 100 may be configured so that the pluralityof users uses a single user terminal, or may be configured so as toinclude a plurality of servers.

Each of the server 10 and the plurality of user terminals 20 and 201 to20N is connected to a communication network 30 such as the Internet. Inthis regard, although it is not illustrated in the drawings, theplurality of user terminals 20 and 201 to 20N is connected to thecommunication network 30 by executing data communication with basestations managed by a telecommunication carrier by means of a radiocommunication line.

The video game processing system 100 includes the server 10 and theplurality of user terminals 20 and 201 to 20N, whereby various kinds offunctions for executing various kinds of processing in response to anoperation of the user are performed.

The server 10 is managed by an administrator of the video gameprocessing system 100, and has various kinds of functions to provideinformation regarding various kinds of processing to the plurality ofuser terminals 20 and 201 to 20N. In the present embodiment, the server10 is constructed by an information processing apparatus, such as a WWWserver, and includes a storage medium for storing various kinds ofinformation. In this regard, the server 10 is provided with a generalconfiguration for executing the various kinds of processing as acomputer, such as a control section and a communicating section.However, its explanation herein is omitted. Further, in the video gameprocessing system 100, it is preferable that the server 10 managesvarious kinds of information from a point of view to reduce a processingload on each of the plurality of user terminals 20 and 201 to 20N.However, a storing section for storing various kinds of information mayinclude a storage region in a state that the server 10 can access thestorage region. For example, the server 10 may be configured so as to beprovided with a dedicated storage region outside the server 10.

FIG. 2 is a block diagram illustrating a configuration of a video gameprocessing server 10A (hereinafter, referred to as a “server 10A”),which is an example of the server 10. As illustrated in FIG. 2, theserver 10A at least includes a setting unit 11, an arranging unit 12, agenerating unit 13, a determining unit 14, and a searching unit 15.

The setting unit 11 has a function to set a navigation meshcorresponding to a movable area of an object in a virtual space.

Here, the object means one that can be arranged in the virtual space. Aconfiguration of the object is not limited particularly. However, it ispreferable that the object can be recognized by the user (or a player)of the user terminal 20. As examples of the object, there are acharacter that the user can operate (for example, a player character)and a character that the user cannot operate (for example, a non-playercharacter).

Further, the movable area means an area in which movement of the objectin the virtual space is allowed. A configuration of the movable area isnot limited particularly. The movable area may be configured by a 2Dmap, or may be configured by a 3D map.

Further, the phrase “set a navigation mesh corresponding to a movablearea” means that the navigation mesh is associated with the movable areain the virtual space. A configuration to set a navigation mesh is notlimited particularly. For example, there is a configuration in which apassable flag is set for polygons each of which is contiguous to aninitial position of the player.

The arranging unit 12 has a function to arrange a plurality of waypointson the set navigation mesh in accordance with a predeterminedarrangement rule.

Here, each of the waypoints means spot information with whichinformation regarding a video game can be associated. Namely, each ofthe waypoints has a role as abase in which information necessary for thevideo game is embedded. A configuration of each of the waypoints is notlimited particularly so long as a position on the navigation mesh can bespecified by each of the waypoints. However, it is preferable that eachof the waypoints is configured so that information, which may becomeuseful in accordance with the purpose of the route search, can beassociated with the waypoints. As an example of such a configuration,there is a configuration in which a XYZ position in a 3D space and anavigation mesh (hereinafter, referred to also as a “NavMesh”) polygonID under the waypoint are included.

Further, a configuration to arrange a plurality of waypoints inaccordance with a predetermined arrangement rule is not limitedparticularly. The arranging unit 12 may be configured so as todifferently use a plurality of arrangement rules. As an example of thearrangement rule, there is a rule of arranging waypoints by a flood fillalgorithm (Floodfill) on the basis of the initial position of theplayer.

The generating unit 13 has a function to generate a plurality of regionsby grouping the plurality of waypoints arranged in the virtual space onthe basis of a predetermined classification rule.

Here, a configuration of grouping on the basis of a predeterminedclassification rule is not limited particularly. The generating unit 13may be configured so as to classify the waypoints on the basis ofarrangement of the waypoints, or may be configured so as to classify thewaypoints on the basis of information that is associated with thewaypoints. As an example of such a configuration, there is aconfiguration in which the waypoints are classified on the basis of adistance from an irremovable region (for example, a wall) of each of thewaypoints by a watershed (Watershed) algorithm (or the navigation meshis divided by arrangement of the respective waypoints afterclassification).

Further, the phrase “generate a plurality of regions by grouping” meansthat an area in the virtual space (or the set navigation mesh) in whichwaypoints belonging a group are positioned is defined as a region. Aconfiguration to generate a plurality of regions is not limitedparticularly. The generating unit 13 may be configured so as togenerate, as a region, information indicating a group of waypointsbelonging to a group, or may be configured so as to generate, as aregion, information indicating a part of the navigation mesh fromarrangement of waypoints belonging to a group.

The determining unit 14 has a function to determine regions where theobject is allowed to move (hereinafter, referred to as “movableregions”) on the basis of arrangement of the plurality of regions thusgenerated.

Here, a configuration to determine movable regions is not limitedparticularly. The determining unit 14 may be configured so as to becapable of determining, as the movable regions, a plurality of regionsthat connect a region in which a movement start position is included toa region in which a movement end position is included. As an example ofsuch a configuration, there is a configuration in which a known routesearch technique is utilized by using the respective regions as nodes.In this regard, the determining unit 14 may be configured so as todetermine a connection relationship of the respective regions by usinginformation that is associated with waypoints positioned in a boundaryof the respective regions.

The searching unit 15 has a function to search a moving route of theobject on the basis of the waypoints included in the determined movableregions.

Here, a configuration to search a moving route on the basis of waypointsincluded in the movable regions is not limited particularly. However, itis preferable that the searching unit 15 is configured so as to becapable of searching one route or a plurality of routes that satisfies asearch condition. As an example of such a configuration, there is aconfiguration in which a known route search technique is adopted byusing the respective waypoints included in the movable regions as thenodes.

Each of the plurality of user terminals 20, and 201 to 20N is managed bythe user, and is configured by a communication terminal capable ofplaying a network delivery type game, such as a cellular telephoneterminal, a PDA (Personal Digital Assistants), a portable gameapparatus, or a so-called wearable device, for example. In this regard,the configuration of the user terminal that the video game processingsystem 100 can include is not limited to the example described above.Each of the user terminals 20, and 201 to 20N may be configured so thatthe user can recognize the video game. As the other examples of the userterminal, there are one obtained by combining various kinds ofcommunication terminals, a personal computer, and a stationary gameapparatus.

Further, each of the plurality of user terminals 20, and 201 to 20N isconnected to the communication network 30, and includes hardware (forexample, a display device for displaying a browser screen or a gamescreen based on a coordinate and the like) and software for executingvarious kinds of processes by communicating with the server 10A. In thisregard, each of the plurality of user terminals 20, and 201 to 20N maybe configured so as to be able to directly communicate with each otherwithout the server 10A.

Next, an operation of the video game processing system 100 (hereinafter,referred to as the “system 100”) according to the present embodimentwill be described.

FIG. 3 is a flowchart illustrating an example of game processingexecuted by the system 100. In the game processing according to thepresent embodiment, processes related to controlling of progress of thevideo game is executed. Hereinafter, a case where the server 10A and theuser terminal 20 (hereinafter, referred to as the “terminal 20”) executethe game processing will be described as an example.

The game processing is started in a case where the terminal 20 thataccesses the server 10A satisfies an arrangement condition forwaypoints, for example. Hereinafter, a case where the user who operatesthe terminal 20 inputs a search request for a moving route will bedescribed as an example.

In the game processing, the server 10A first sets a navigation mesh(Step S1). In the present embodiment, the server 10A specifies a virtualspace to be provided to the terminal 20, and sets a navigation meshcorresponding to an area in the specified virtual space in which anobject can move.

When the navigation mesh is set, the server 10A arranges waypoints (StepS12). In the present embodiment, the server 10A arranges a plurality ofwaypoints on the set navigation mesh in accordance with a predeterminedarrangement rule.

When the waypoints are arranged, the server 10A generates a plurality ofregions (Step S13). In the present embodiment, the server 10A generatesa plurality of regions by grouping the plurality of waypoints arrangedin the virtual space in accordance with a predetermined classificationrule.

When the plurality of regions is generated, the server 10A determinesmovable regions (Step S14). In the present embodiment, the server 10Adetermines movable regions suitable for movement from a region in whicha movement start position is included to a region in which a movementend position is included on the basis of arrangement of the plurality ofregions thus generated.

When the movable regions are determined, the server 10A searches amoving route on the basis of the waypoints included in the movableregions (Step S15). In the present embodiment, the server 10A searches amoving route from the movement start position to the movement endposition on the basis of the waypoints included in the determinedmovable regions.

FIG. 4 is a flowchart illustrating an example of an operation of theserver 10A side in the game processing. Here, an operation of the server10A in the system 100 will be described again.

In the game processing, the server 10A first sets a navigation mesh(Step S101); arranges waypoints on the set navigation mesh (Step S102);generates a plurality of regions by grouping the plurality of waypointsthus arranged on the basis of a predetermined classification rule (StepS103); determines movable regions on the basis of arrangement of theplurality of regions thus generated (Step S104); and searches a movingroute on the basis of the waypoints included in the movable regions(Step S105).

FIG. 5 is a flowchart illustrating an example of an operation of theterminal 20 side in a case where the terminal 20 executes the gameprocessing. Hereinafter, a case where the terminal 20 executes the gameprocessing by a single body will be described as an example. In thisregard, the configuration of the terminal 20 includes the similarfunctions to those of the server 10 except that the terminal 20 receivesvarious kinds of information from the server 10. For this reason, itsexplanation is omitted from a point of view to avoid repeatedexplanation.

In the game processing, the terminal 20 first sets a navigation mesh(Step S201); arranges waypoints on the set navigation mesh (Step S202);generates a plurality of regions by grouping the plurality of waypointsthus arranged on the basis of a predetermined classification rule (StepS203); determines movable regions on the basis of arrangement of theplurality of regions thus generated (Step S204); and searches a movingroute on the basis of the waypoints included in the movable regions(Step S205). In the present embodiment, the terminal 20 communicateswith the server 10A to obtain information used for each of the steps. Inthis regard, the terminal 20 may be configured so as to refer to astorage unit included therein to specify the information used for eachof the steps.

As explained above, as one side of the first embodiment, the server 10Aprovided with the functions regarding the search of the moving route inthe virtual space is configured so as to include the setting unit 11,the arranging unit 12, the generating unit 13, the determining unit 14,and the searching unit 15. Thus, the setting unit 11 sets the navigationmesh corresponding to the movable area of the object in the virtualspace; the arranging unit 12 arranges the plurality of waypoints on theset navigation mesh in accordance with the predetermined arrangementrule; the generating unit 13 generates the plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on thebasis of the predetermined classification rule; the determining unit 14determines the regions where the object is allowed to move (that is, themovable regions) on the basis of arrangement of the plurality of regionsthus generated, and the searching unit 15 searches the moving route ofthe object on the basis of the waypoints included in the movableregions. Therefore, it is possible to reduce a processing load requiredfor a search of a moving route of an object.

Namely, the moving route is searched by not only arranging thewaypoints, but also by determining the movable region. For this reason,it becomes possible to search a moving route in a stepwise manner.Compared with a case where all of the arranged waypoints are set tosearch targets, it is possible to reduce a processing load required fora search of a moving route.

In this regard, it has not been mentioned particularly in the firstembodiment described above. However, timing when the server 10A executesthe respective processes by the setting unit 11, the arranging unit 12,the generating unit 13, and the determining unit 14 is not limitedparticularly. The server 10A may be configured so as to execute theprocesses at the time when the video game is developed or at the timewhen the video game is played. Namely, the server 10A may be configuredso that the searching unit 15 reads out information that is generatedbefore the player plays the video game; updates the read-out informationin accordance with a situation of the video game; and searches a movingroute. Further, the server 10A may be configured so that the searchingunit 15 searches a moving route by using information that is generatedin real time in accordance with progress of the video game (for example,arrangement of waypoints and a generated region).

Second Embodiment

FIG. 6 is a block diagram illustrating a configuration of a video gameprocessing server 10B (hereinafter, referred to as a “server 10B”),which is an example of the video game processing server 10 (see FIG. 1).In the present embodiment, the server 10B at least includes a settingunit 11, an arranging unit 12, a generating unit 13, a determining unit14B, and a searching unit 15.

The determining unit 14B has a function to refer to a predeterminedstorage unit (not illustrated in the drawings) in which information onconnection between each of a plurality of waypoints and the otherwaypoint (hereinafter, referred to also as “connection information”) isstored, and determine movable regions on the basis of the connectioninformation of waypoints arranged in a boundary of a plurality ofregions.

Here, the connection information means information regarding connectionwith the plurality of waypoints. A configuration of the connectioninformation is not limited particularly so long as the determining unit14B can specify whether an object can move from one waypoint to anotherwaypoint or not. As an example of the connection information, there isidentification information of another waypoint to which the object canmove from a waypoint.

Further, a boundary of a plurality of regions means a boundary of aplurality of virtual spaces, which satisfies an adjacent condition inthe virtual spaces. In a case where a waypoint belonging to one regionis connected to a waypoint belonging to another region, it is possibleto determine that the object can move between the two regions. On theother hand, even in two adjacent regions, in a case where waypointsbelonging to the respective regions are connected to each other, it ispossible to determine that the object cannot move between the tworegions. By making it possible to specify a connection relationshipamong the plurality of regions in the virtual space, it is possible todetermine the movable regions by the similar manner to that for a searchof a moving route.

FIG. 7 is a flowchart illustrating an example of game processingexecuted by the video game processing system 100 (see FIG. 1).Hereinafter, operations of the server 10B and a user terminal 20(hereinafter, referred to as a “terminal 20”) will be described as anexample. In this regard, a flowchart illustrating an operation of eachof the server 10B and the terminal 20 is omitted from a point of view toavoid repeated explanation.

When a plurality of regions is generated, the server OB determinesmovable regions on the basis of connection information of waypoints(Step S2-11). In the present embodiment, the server 10B searches amoving route from a movement start position to a movement end positionon the basis of connection information of waypoints arranged in aboundary of regions among waypoints included in the plurality of regionsthus generated.

As explained above, as one side of the second embodiment, the server 10Bis configured so as to include the setting unit 11, the arranging unit12, the generating unit 13, the determining unit 14B, and the searchingunit 15. Thus, the determining unit 14B refers to the predeterminedstorage unit in which the connection information between each of theplurality of waypoints and the other waypoint is stored, and determinesthe movable regions on the basis of the connection information of thewaypoints arranged in the boundary of the plurality of regions.Therefore, in order to specify a connection relationship among aplurality of regions, it is possible to determine movable regionswithout generating new information. For this reason, it is possible toreduce a processing load required for determination of movable regionsto search a moving route.

Third Embodiment

FIG. 8 is a block diagram illustrating a configuration of a video gameprocessing server 10C (hereinafter, referred to as a “server 10C”),which is an example of the video game processing server 10 (see FIG. 1).In the present embodiment, the server 10C at least includes a settingunit 11, an arranging unit 12, a generating unit 13C, a determining unit14, and a searching unit 15.

The generating unit 13C has a function to divide regions, each of whichsatisfies a predetermined division condition, among a plurality ofregions, and merge regions, each of which satisfies a predeterminedmerging condition, with the other regions. Namely, the generating unit13C has a function to adjust the plurality of regions.

Here, the phrase “divide regions” means that each of a plurality ofwaypoints belonging to one region is caused to belong to any of two ormore regions. Further, the phrase “merge regions” means that a pluralityof waypoints each belonging to any of two or more regions is caused tobelong to one region. Namely, the generating unit 13C has a function tochange belonging region of each of waypoints that belongs to any of thegenerated regions.

Further, a configuration to divide regions each of which satisfies apredetermined division condition and merge regions, each of whichsatisfies a predetermined merging condition, with the other regions isnot limited particularly. The generating unit 13C may be configured sothat each of all of the generated regions has a size that falls within acertain range, or may be configured to provide the division conditionand the merging condition so that each of regions after adjustmentsatisfies any one of a plurality of size conditions.

FIG. 9 is a flowchart illustrating an example of game processingexecuted by the video game processing system 100 (see FIG. 1).Hereinafter, operations of the server 10C and a user terminal 20(hereinafter, referred to as a “terminal 20”) will be described as anexample. In this regard, a flowchart illustrating an operation of eachof the server 10C and the terminal 20 is omitted from a point of view toavoid repeated explanation.

When a plurality of regions is generated, the server 10C adjusts (forexample, divides or merges) a plurality of regions (Step S3-11). In thepresent embodiment, the server 10C adjusts each of all of the generatedregions so as to have a size that falls within a certain range.

As explained above, as one side of the third embodiment, the server 10Cis configured so as to include the setting unit 11, the arranging unit12, the generating unit 13C, the determining unit 14, and the searchingunit 15. Thus, the generating unit 13C divides the regions, each ofwhich satisfies the predetermined division condition, among theplurality of regions, and merges the regions, each of which satisfiesthe predetermined merging condition, with the other regions. Therefore,it is possible to deal with the generated regions as a unit, and thismakes it possible to heighten usability of the regions.

Fourth Embodiment

FIG. 10 is a block diagram illustrating a configuration of a video gameprocessing server 10Z (hereinafter, referred to as a “server 10Z”),which is an example of the video game processing server 10 in the videogame processing system 100 (see FIG. 1). In the present embodiment, theserver 10Z at least includes a setting unit 11Z, an arranging unit 12Z,a generating unit 13Z, a determining unit 14Z, a searching unit 15Z, anda thinning unit 16Z.

The setting unit 11Z has a function to set a navigation meshcorresponding to a movable area of an object in a virtual space.Hereinafter, a case where a navigation mesh is set in a virtual space ofa 3D cover shooting game in which a soldier and a weapon appear will bedescribed as an example.

In the present embodiment, an enemy soldier is allowed to search aplayer from an edge of a map. Further, the enemy soldier can fight withthe player anywhere on the map. For that reason, normal movement such aswalking or running is carried out on the navigation mesh.

Here, in order to perform functions of the enemy soldier, the server 10Zcan search a long and large path from an edge of a map to an oppositeedge. In the present embodiment, in order to suppress a search load fora path, a hierarchical type path search is executed. Further, the enemysoldier can go not only to the vicinity of an arranged position but alsoto a location where the player can go. Namely, the enemy soldier can getover or climb a cover, or move via any of a door, a window, and aladder. In the present embodiment, in order to secure a degree offreedom of movement, each of the player and the enemy soldier is causedto pass through a location at which the navigation mesh is notcontinuous by means of a jump link.

Further, in the present embodiment, as functions regarding navigation,movement of a contiguous portion by a NavMesh, movement outside the meshby a jump link, a hierarchical structure for reducing a search load fora long and large path, and a function to automatically generate datadescribed above will also be described.

Here, as examples of geomorphic expression used for the functionsdescribed above, there are a NavMesh, waypoints, a connection graph, andan upper layer graph based on the waypoints.

The NavMesh uses a known technique (for example, recast navigation).Therefore, its detailed explanation herein is omitted. In this regard,in the present embodiment, setting of a passable flag to polygonscontiguous from a player initial position, and the like are executed.Since the player can climb a wall with a certain height, a passable flagis also set to polygons that are not contiguous from the player initialposition but contiguous from the wall that climbed by the player. Inthis case, for example, a mesh provided in the vicinity of a positionshifted by a height, which can be climbed from an edge where there areno adjacent polygons, is searched. If there is a corresponding mesh, acontiguous flag is set therefrom.

The arranging unit 12Z has a function to arrange a plurality ofwaypoints on the set navigation mesh in accordance with a predeterminedarrangement rule. Hereinafter, a case where waypoints are automaticallyarranged on the NavMesh offline will be described as an example.

Here, the waypoint plays a role as a base in which information necessaryfor a video game is embedded. In the present embodiment, information,such as a XYZ position, a NavMesh polygon ID under a point, LOF (Line ofFire), a point attribute, point connection information, an adjacentcover ID, an adjacent door ID, an adjacent ladder/window ID, a shootingcover list, a height from a point location to a ceiling, a height whento get over an adjacent cover, a distance to a wall, or a broken gimmickID riding on a point, is associated with the waypoint if needed.

Further, in the present embodiment, by arranging points by means of aflood fill algorithm (Floodfill) on the basis of the player initialposition, the waypoints are automatically arranged. In this regard, thepoints may not be formed at required positions due to a grid shape.Therefore, the arranging unit 12Z may be configured so as to add pointsarbitrarily. In this case, the arranging unit 12Z may be configured soas to receive addition of a waypoint to a location of each of variouskinds of objects (for example, a door, a low cover, an edge of a highcover, and a position at which a ladder is installed) in the virtualspace.

The thinning unit 16Z has a function to thin out some waypoints, whichare selected in accordance with a predetermined selection rule, from theplurality of waypoints thus arranged. Hereinafter, a case wherewaypoints are thinned out as a process after the waypoints are spreadall over will be described as an example. In this regard, it ispreferable that an index after thinning out falls within 16 bits. Thisis because the index of the point should not be increased because it isto be stored here and there. Further, in a case where the number ofindexes is large, a load at the time of search thereof increases toomuch.

FIG. 11 is an explanatory drawing for explaining an example of thinningof waypoints. In the present embodiment, by selecting points in a randommanner after automatically arranging a plurality of waypoints (forexample, a waypoint 1111 and a waypoint 1112) on the basis of a playerinitial position 1101 (see FIG. 11A), the arranged waypoints are thinnedout (see FIG. 11B). Further, in the present embodiment, some points thatshould not be thinned out are not thinned out. Namely, for example, in acase where a waypoint corresponding to a point where a distance betweenpositions before and after thinning out the waypoint is too wide, apoint where a graph is cut by thinning out the waypoint, a point thatbecomes a too roundabout route by thinning out the waypoint, a boundaryof an upper layer graph node, a location that becomes a trigger of anaction such as a door, or the like is selected, the correspondingwaypoint is not thinned out.

FIG. 12 is an explanatory drawing for explaining an example of waypointsthat should not be thinned out. As illustrated in FIG. 12, if a waypoint1211 is deleted from an area 1201 to which a NavMesh is set, connectionbetween upper and lower portions thereof is lost. Namely, a Raycast onthe NavMesh cannot pass through the waypoint 1211 from each of awaypoint 1212 and a waypoint 1213. For that reason, the waypoint 1211 isnot thinned out.

The searching unit 15Z has a function to search a moving route of theobject on the basis of arrangement of the plurality of waypoints afterthinning out some waypoints. Hereinafter, a case where a route searchfor a route from a start point to an end point, such as a route from anenemy's position to a player's position, a route from an enemy'sposition to a target object, or a route from a player's position to aposition selected by the player, is performed by using a known routesearch technique in which arranged waypoints are used as route candidatelocations will be described as an example.

The generating unit 13Z has a function to generate a plurality ofregions by grouping the plurality of waypoints arranged in the virtualspace in accordance with a predetermined classification rule.Hereinafter, a case where regions in which points close in position aregot together to an extent and labeled (AI regions) are generated as astructure of an uppermost layer for a hierarchical type path search willbe described as an example. In this regard, information on pointconnection of a label boundary is used as connection information.

In the present embodiment, the AI region plays a role of dealing withpoints as a certain level of lump. It is preferable that the AI regionis configured so as to roughly express a position without being toodetailed. Further, the AI region also has a role as a cost-added targetthat prevents the object from passing through the same path. The AIregion can also be utilized for a map of a degree of influence between aplayer and an enemy (influence map) and the like. Moreover, it ispossible to expect that the AI region allows a search load for a path tobe reduced by hierarchization of positional representation.

FIG. 13 is an explanatory drawing for explaining an example of a methodof generating a region. As illustrated in FIG. 13A, in a case where aregion (that is, an AI region according to the present embodiment) isgenerated from a landform 1301, waypoints are spread all over thelandform 1301; adjacent waypoints are connected to each other; adistance from a corresponding wall is set for each of the waypoints; andthe set distance is divided by a watershed (Watershed) algorithm. Thus,as illustrated in FIG. 13B, a region S1 and a region S2 can begenerated. In this regard, the watershed algorithm is explainedsupplementarily. In a case where a distance from a wall is considered asa height, a first mountain with a waypoint 1311 at the top thereof and asecond mountain with a waypoint 1312 at the top thereof can be formed.When evaluation is started from the highest point, the waypoint 1311 isfirst labeled (label 1). Subsequently, by lowering the height to beevaluated, two points respectively positioned at upper and lower sidesof the waypoint 1311 in the first mountain, and the top of the secondmountain (that is, the waypoint 1312) are evaluated. In this case, sincethe point of the second mountain is the top thereof, the waypoint 1312is labeled (label 2). Since the two points of the first mountain are apart of the first mountain, the two points are labeled in the similarmanner to the top of the first mountain (that is, the waypoint 1311)(label 1). In this regard, whether a certain point is a part of amountain or not can be determined by determining whether an adjacentpoint thereof has already been labeled or not. Subsequently, byexecuting the similar process after lowering the height to be evaluated,remaining points are labeled to the bottom of the first mountain and thebottom of the second mountain. Finally, each of portions that are notincluded in each of the first and second mountains (that is, portionswhose distance from the corresponding wall is determined to be zero orthe minimum) is labeled from the adjacent point thereof. From the above,it is possible to label the points up to the lowest height. Namely, itis possible to generate an upper layer graph by nodes of label 1 andnodes of label 2.

Further, in the present embodiment, the generated regions are adjustedon the basis of a predetermined adjustment rule. Namely, regions each ofwhich satisfies a predetermined division condition are divided from theplurality of regions, and a region that satisfies a predetermined mergecondition is merged with another region. By configuring the generatingunit 15Z in this manner, each of too small regions is attached to anadjacent large region, and a too large region is repeatedly cut so that“a long side thereof is cut into half”. By forming the regions so as tohave a certain size in this manner, it is possible to roughly deal withthem as “units”.

The determining unit 14Z has a function to determine regions where anobject is allowed to move (hereinafter, referred to as “movableregions”) on the basis of arrangement of the plurality of regions thusgenerated. In the present embodiment, a case where a known route searchtechnique is utilized by using the respective regions as nodes will bedescribed as an example.

As described above, the data are created in the order of a NavMesh, awaypoint graph, and an upper layer graph, and this makes it possible toperform a path search in the order of the upper layer graph, thewaypoint graph, and the NavMesh.

In this regard, the moving route finally desired by the path search is asmooth moving route to an extent intended by a designer of the videogame. Namely, it is preferable that the determining unit 16Z isconfigured so that a Bezier curve, a straight line, or a line thatrequires an action because a line from a current position of an objectto a target position is not contiguous can be derived in accordance witha type of the object. In the present embodiment, by specifying an actionand a position required in an upper layer graph level, specifying anaction and a position required in a waypoint level, and searching amoving route on which the object continuously moves between thespecified positions, various kinds of lines can be derived. In thisregard, a route for contiguous (or continuous) movement can be derivedby passing through an upper layer path, creating a path of waypoints inan upper layer node, connecting waypoints of all nodes, creating aNavMesh polygon list along a point path, creating a list of edgesthrough which the object passes, and creating a Bezier curve by using anintermediate point of the edges.

FIG. 14 is an explanatory drawing for explaining an example of a storagestate of information stored in a storage unit (not illustrated in thedrawings) with which the server 10 is provided. As illustrated in FIG.14, a region number and identification information of each of waypointsbelonging to a region are stored as region related information in thestorage unit so as to be associated with each other.

Here, the region number means identification information of each of thegenerated region (for example, the AI region). A configuration to createa region number is not limited particularly. However, it is preferablethat the server 10Z is configured so that each of a plurality of regionscan be specified uniquely. As an example of the region number, there isa label attached to each of the waypoints.

FIG. 15 is a flowchart illustrating an example of game processingexecuted by a video game processing system 100Z (hereinafter, referredto as a “system 100Z”) provided with the server 10Z. In the gameprocessing according to the present embodiment, a process regardingarrangement of waypoints and the like are executed. Hereinafter, each ofthe processes will be described. In this regard, the order of therespective processes may be changed without any contradiction or thelike of processing content.

The game processing is started in a case where a user terminal 20(hereinafter, referred to as a “terminal 20”) that accesses the server10Z satisfies an arrangement condition of waypoints, for example.Hereinafter, a case where a user who operates the terminal 20 inputs asearch request for a moving route will be described as an example.

In the game processing, the system 100Z first sets a navigation mesh(Step S301). In the present embodiment, the server 10Z specifies avirtual space to be provided to the terminal 20, and sets a navigationmesh corresponding to an area in the specified virtual space in which anobject can move.

When the navigation mesh is set, the system 100Z arranges waypoints(Step S302). In the present embodiment, the server 10Z arranges aplurality of waypoints on the set navigation mesh in accordance with apredetermined arrangement rule.

When the waypoints are arranged, the system 100Z thins out somewaypoints (Step S303). In the present embodiment, the server 10Z thinsout some waypoints selected in accordance with a predetermined selectionrule from the plurality of waypoints thus arranged.

When some waypoints are thinned out, the system 100Z generates aplurality of regions (Step S304). In the present embodiment, the server10Z generates a plurality of regions by grouping the plurality ofwaypoints arranged in the virtual space in accordance with apredetermined classification rule.

When the plurality of regions is generated, the system 100Z determinesmovable regions (Step S305). In the present embodiment, the server 10Zdetermines movable regions suitable for movement from a region in whicha movement start position is included to a region in which a movementend position is included on the basis of arrangement of the plurality ofregions thus generated.

When the movable regions are determined, the system 100Z searches amoving route (Step S306). In the present embodiment, the server 10Zsearches a moving route of the object on the basis of arrangement of theplurality of waypoints that is arranged in the virtual space.

As explained above, as one side of the fourth embodiment, the server 10Zprovided with the functions regarding a search of the moving route inthe virtual space is configured so as to include the setting unit 11Z,the arranging unit 12Z, the generating unit 13Z, the determining unit14Z, the searching unit 15Z, and the thinning unit 16Z. Thus, thesetting unit 11Z sets the navigation mesh corresponding to the movablearea of the object in the virtual space; the arranging unit 12Z arrangesthe plurality of waypoints on the set navigation mesh in accordance withthe predetermined arrangement rule (for example, the flood fillalgorithm); the generating unit 13Z generates the plurality of regionsby grouping the plurality of waypoints arranged in the virtual space onthe basis of the predetermined classification rule (for example, randomselection); the determining unit 14Z determines the regions where theobject is allowed to move (that is, the movable regions) on the basis ofarrangement of the plurality of regions thus generated; and thesearching unit 15Z searches the moving route of the object on the basisof the waypoints included in the movable regions. Therefore, it ispossible to reduce a processing load required for a search of a movingroute of an object.

Namely, the moving route is searched by not only arranging thewaypoints, but also by determining the movable region. For this reason,it becomes possible to search a moving route in a stepwise manner.Compared with a case where all of the arranged waypoints are set tosearch targets, it is possible to reduce a processing load required fora search of a moving route.

Further, in the example of the fourth embodiment described above, theserver 10Z is configured so as to group the plurality of waypoints byusing a watershed algorithm in which a distance from an irremovableregion of each of the plurality of waypoints is utilized as a parameter,and generate each of the plurality of regions on a basis of positionalinformation on waypoints that belong to a same group. Therefore, forexample, compared with a case where a developer of the video gameclassifies waypoints to generate regions, it is possible to generate aplurality of regions effectively.

In this regard, it has not been mentioned particularly in the fourthembodiment described above. However, timing when the server 10Z executesthe respective processes by the setting unit 11Z, the arranging unit12Z, the generating unit 13Z, the determining unit 14Z, and the thinningunit 16Z is not limited particularly. The server 10Z may be configuredso as to execute the processes at the time when the video game isdeveloped or at the time when the video game is played. Specifically,the server 10Z may be configured so that setting of the NavMesh,arrangement of the waypoints, and generation of the AI region areexecuted independently from the route search, or may be configured sothat they are executed in a series of flow with the route search.Namely, for example, the server 10Z may be configured so that: thesearching unit 15Z reads out, in accordance with progress of the videogame, information that is generated before the player plays the videogame (for example, the region related information); updates the read-outinformation in accordance with a situation of the video game (forexample, change of a movable region); and searches a moving route on thebasis of the updated information. Further, for example, the server 10Zmay be configured so that the searching unit 15 sets a navigation meshin accordance with progress of the video game, and searches a movingroute in real time by using generated information.

In this regard, it has not been mentioned particularly in the fourthembodiment described above. However, the server 10Z may be configured soas to: set a navigation mesh corresponding to a movable area of anobject in a virtual space; arrange a plurality of waypoints on the setnavigation mesh in accordance with a predetermined arrangement rule (forexample, the flood fill algorithm); thin out some waypoints, which areselected in accordance with a predetermined selection rule (for example,random selection), from the plurality of waypoints thus arranged; andstore information for a search containing arrangement of the thinnedwaypoints (for example, geomorphic expression of the virtual space) inthe storage unit. In this case, the server 10Z that obtains informationrelated to the video game containing the information for search searchesa moving route of the object in the virtual space on the basis of theinformation for search.

As explained above, one or two or more shortages can be solved by eachof the embodiments according to the present application. In this regard,the effects by each of the embodiments are non-limiting effects or oneexample of the non-limiting effects.

In this regard, in each of the embodiments described above, each of theplurality of user terminals 20, and 201 to 20N and the server 10executes the various kinds of processing described above in accordancewith various kinds of control programs (for example, a video gameprocessing program) stored in the storage device with which thecorresponding terminal or server is provided.

Further, the configuration of the system 100 is not limited to theconfiguration that has been explained as an example of each of theembodiments described above. For example, the system 100 may beconfigured so that the server 10 executes a part or all of the processesthat have been explained as the processes executed by the user terminal20. Alternatively, the system 100 may be configured so that any of theplurality of user terminals 20, and 201 to 20N (for example, the userterminal 20) executes a part or all of the processes that have beenexplained as the processes executed by the server 10. Further, thesystem 100 may be configured so that a part or all of the storage unitincluded in the server 10 is included in any of the plurality of userterminals 20, and 201 to 20N. Namely, the system 100 may be configuredso that a part or all of the functions of any one of the user terminal20 and the server 10 according to the system 100 is included in theother.

Further, the system 100 may be configured so that the program causes asingle apparatus to perform a part or all of the functions that havebeen explained as the example of each of the embodiments described abovewithout including a communication network.

APPENDIX

The explanation of the embodiments described above has been described sothat the following inventions can be at least performed by a personhaving a normal skill in the art to which the present invention belongs.

(1)

A non-transitory computer-readable medium including a video gameprocessing program for causing a server to perform functions regarding asearch of a moving route in a virtual space, the functions comprising:

a setting function configured to set a navigation mesh corresponding toa movable area of an object in a virtual space;

an arranging function configured to arrange a plurality of waypoints onthe set navigation mesh in accordance with a predetermined arrangementrule;

a generating function configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule;

a determining function configured to determine regions where the objectis allowed to move (hereinafter, referred to as “movable regions”) on abasis of arrangement of the plurality of regions thus generated; and

a searching function configured to search a moving route of the objecton a basis of the waypoints included in the determined movable regions.

(2)

The non-transitory computer-readable medium according to (1),

wherein the determining function includes a function configured to referto a predetermined storage unit in which information on connectionbetween each of the plurality of waypoints and the other waypoint, anddetermine the movable regions on a basis of connection information ofwaypoints arranged in a boundary of the plurality of regions.

(3)

The non-transitory computer-readable medium according to (1) or (2),

wherein the generating function includes a function configured to divideregions, each of which satisfies a predetermined division conditionamong the plurality of regions, and merge regions, each of whichsatisfies a predetermined merging condition, with the other regions.

(4)

The non-transitory computer-readable medium according to any one of (1)to (3),

wherein the generating function includes a function configured to groupthe plurality of waypoints by using a watershed algorithm in which adistance from an irremovable region of each of the plurality ofwaypoints is utilized as a parameter, and generate each of the pluralityof regions on a basis of positional information on waypoints that belongto a same group.

(5)

A non-transitory computer-readable medium including a video gameprocessing program for causing a user terminal to perform at least onefunction of the functions that the video game processing programdescribed in any one of (1) to (4) causes the server to perform, theuser terminal being capable of communicating with the server.

(6)

A server into which the video game processing program described in anyone of (1) to (5) is installed.

(7)

A video game processing system for executing a process regarding asearch of a moving route in a virtual space, the video game processingsystem comprising a communication network, a server, and a userterminal, the video game processing system comprising:

a setting unit configured to set a navigation mesh corresponding to amovable area of an object in a virtual space;

an arranging unit configured to arrange a plurality of waypoints on theset navigation mesh in accordance with a predetermined arrangement rule;

a generating unit configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule;

a determining unit configured to determine regions where the object isallowed to move (hereinafter, referred to as “movable regions”) on abasis of arrangement of the plurality of regions thus generated; and

a searching unit configured to search a moving route of the object on abasis of the waypoints included in the determined movable regions.

(8)

The video game processing system according to (7),

wherein the server includes the setting unit, the arranging unit, thegenerating unit, the determining unit, and the searching unit, and

wherein the user terminal includes an outputting unit configured tooutput a game screen to a display screen of a display device, the gamescreen indicating the moving route searched by the searching unit.

(9)

A non-transitory computer-readable medium including a video gameprocessing program for causing a user terminal to perform terminalfunctions regarding a search of a moving route in a virtual space, theterminal functions comprising:

a function configured to receive, from a server, information regardingserver functions included in the server; and

a function configured to execute an input or an output corresponding toeach of the server functions,

wherein the server comprises the server functions including:

a setting function configured to set a navigation mesh corresponding toa movable area of an object in a virtual space;

an arranging function configured to arrange a plurality of waypoints onthe set navigation mesh in accordance with a predetermined arrangementrule;

a generating function configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule;

a determining function configured to determine regions where the objectis allowed to move (hereinafter, referred to as “movable regions”) on abasis of arrangement of the plurality of regions thus generated; and

a searching function configured to search a moving route of the objecton a basis of the waypoints included in the determined movable regions.

(10)

A non-transitory computer-readable medium including a video gameprocessing program for causing a user terminal to perform functionsregarding a search of a moving route in a virtual space, the functionscomprising:

a setting function configured to set a navigation mesh corresponding toa movable area of an object in a virtual space;

an arranging function configured to arrange a plurality of waypoints onthe set navigation mesh in accordance with a predetermined arrangementrule;

a generating function configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule;

a determining function configured to determine regions where the objectis allowed to move (hereinafter, referred to as “movable regions”) on abasis of arrangement of the plurality of regions thus generated; and

a searching function configured to search a moving route of the objecton a basis of the waypoints included in the determined movable regions.

(11)

A non-transitory computer-readable medium including a video gameprocessing program for causing a server to perform at least one functionof the functions that the video game processing program described in(10) causes the user terminal to perform, the server being capable ofcommunicating with the user terminal.

(12)

A user terminal into which the video game processing program describedin (10) or (11) is installed.

(13)

A video game processing method of executing a process regarding a searchof a moving route in a virtual space, the video game processing methodcomprising:

a setting process configured to set a navigation mesh corresponding to amovable area of an object in a virtual space;

an arranging process configured to arrange a plurality of waypoints onthe set navigation mesh in accordance with a predetermined arrangementrule;

a generating process configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule;

a determining process configured to determine regions where the objectis allowed to move (hereinafter, referred to as “movable regions”) on abasis of arrangement of the plurality of regions thus generated; and

a searching process configured to search a moving route of the object ona basis of the waypoints included in the determined movable regions.

(14)

A video game processing method of executing a process regarding a searchof a moving route in a virtual space by a video game processing system,the video game processing system including a communication network, aserver, and a user terminal, the video game processing methodcomprising:

a setting process configured to set a navigation mesh corresponding to amovable area of an object in a virtual space;

an arranging process configured to arrange a plurality of waypoints onthe set navigation mesh in accordance with a predetermined arrangementrule;

a generating process configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule;

a determining process configured to determine regions where the objectis allowed to move (hereinafter, referred to as “movable regions”) on abasis of arrangement of the plurality of regions thus generated; and

a searching process configured to search a moving route of the object ona basis of the waypoints included in the determined movable regions.

(15)

A non-transitory computer-readable medium including a video gameprocessing program for causing a computer to perform functions regardinga search of a moving route in a virtual space, the functions comprising:

a setting function configured to set a navigation mesh corresponding toa movable area of an object in a virtual space;

an arranging function configured to arrange a plurality of waypoints onthe set navigation mesh in accordance with a predetermined arrangementrule; and

a generating function configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule.

(16)

A non-transitory computer-readable medium including a video gameprocessing program for causing a computer to perform functions regardinga search of a moving route in a virtual space, the functions comprising:

a determining function configured to determine movable regions of anobject arranged in a virtual space on a basis of information, theinformation being generated by a setting function configured to set anavigation mesh corresponding to a movable area of an object in avirtual space, an arranging function configured to arrange a pluralityof waypoints on the set navigation mesh in accordance with apredetermined arrangement rule, and a generating function configured togenerate a plurality of regions by grouping the plurality of waypointsarranged in the virtual space on a basis of a predeterminedclassification rule; and

a searching function configured to search a moving route of the objecton a basis of the waypoints included in the determined movable regions.

(17)

A non-transitory computer-readable medium including a video gameprocessing program for causing a computer to perform functions togenerate information to be used for a search of a moving route in avirtual space, the functions comprising:

a setting function configured to set a navigation mesh corresponding toa movable area of an object in a virtual space;

an arranging function configured to arrange a plurality of waypoints onthe set navigation mesh in accordance with a predetermined arrangementrule;

a generating function configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule; and

a storing function configured to store information for a search in astorage unit, the information containing the plurality of regions thusgenerated.

INDUSTRIAL APPLICABILITY

According to one of the embodiments of the present invention, it isuseful to reduce a processing load required for a search of a movingroute of an object.

What is claimed is:
 1. A non-transitory computer-readable mediumincluding a video game processing program for causing a server toperform functions regarding a search of a moving route in a virtualspace, the functions comprising: a setting function configured to set anavigation mesh corresponding to a movable area of an object in avirtual space; an arranging function configured to arrange a pluralityof waypoints on the set navigation mesh in accordance with apredetermined arrangement rule; a generating function configured togenerate a plurality of regions by grouping the plurality of waypointsarranged in the virtual space on a basis of a predeterminedclassification rule; a determining function configured to determinemovable regions where the object is allowed to move on a basis ofarrangement of the plurality of regions; and a searching functionconfigured to search a moving route of the object on a basis of thewaypoints included in the determined movable regions.
 2. Thenon-transitory computer-readable medium according to claim 1, whereinthe determining function includes a function configured to refer to apredetermined storage unit that is configured to store information onconnection between each waypoint of the plurality of waypoints and another waypoint of the plurality of waypoints, and determine the movableregions on a basis of connection information of waypoints arranged in aboundary of the plurality of regions.
 3. The non-transitorycomputer-readable medium according to claim 1, wherein the generatingfunction includes a function configured to divide regions, wherein eachregion of the divided regions satisfies a predetermined divisioncondition among the plurality of regions, and further configured tomerge regions, wherein each region of the merged regions satisfies apredetermined merging condition, with the other regions.
 4. Thenon-transitory computer-readable medium according to claim 1, whereinthe generating function includes a function configured to group theplurality of waypoints by using a watershed algorithm that is configuredto use a distance from an irremovable region of each of the plurality ofwaypoints as a parameter, and further configured to generate each regionof the plurality of regions on a basis of positional information onwaypoints that belong to a same group.
 5. A video game processing systemfor executing a process regarding a search of a moving route in avirtual space, the video game processing system comprising acommunication network, a server, and a user terminal, the video gameprocessing system comprising: a setting unit configured to set anavigation mesh corresponding to a movable area of an object in avirtual space; an arranging unit configured to arrange a plurality ofwaypoints on the set navigation mesh in accordance with a predeterminedarrangement rule; a generating unit configured to generate a pluralityof regions by grouping the plurality of waypoints arranged in thevirtual space on a basis of a predetermined classification rule; adetermining unit configured to determine movable regions where theobject is allowed to move on a basis of arrangement of the plurality ofregions; and a searching unit configured to search a moving route of theobject on a basis of the waypoints included in the determined movableregions.
 6. A non-transitory computer-readable medium including a videogame processing program for causing a user terminal to perform functionsregarding a search of a moving route in a virtual space, the functionscomprising: a setting function configured to set a navigation meshcorresponding to a movable area of an object in a virtual space; anarranging function configured to arrange a plurality of waypoints on theset navigation mesh in accordance with a predetermined arrangement rule;a generating function configured to generate a plurality of regions bygrouping the plurality of waypoints arranged in the virtual space on abasis of a predetermined classification rule; a determining functionconfigured to determine movable regions where the object is allowed tomove on a basis of arrangement of the plurality of regions; and asearching function configured to search a moving route of the object ona basis of the waypoints included in the determined movable regions.